package com.health.notice.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.health.common.core.controller.BaseController;
import com.health.common.core.domain.AjaxResult;
import com.health.notice.domain.ContentNotice;
import com.health.notice.service.IContentNoticeService;

/**
 * 公告管理用户端Controller
 * 
 * @author moxxie
 * @date 2025-10-27
 */
@RestController
@RequestMapping("/client/notice")
public class ContentNoticeClientController extends BaseController
{
    @Autowired
    private IContentNoticeService contentNoticeService;

    /**
     * 查询已发布的公告列表（用户端）
     */
    @GetMapping("/list")
    public AjaxResult list()
    {
        ContentNotice contentNotice = new ContentNotice();
        // 只查询状态为开启的公告
        contentNotice.setStatus("0");
        List<ContentNotice> list = contentNoticeService.selectContentNoticeList(contentNotice);
        return success(list);
    }

    /**
     * 获取公告详细信息（用户端）
     */
    @GetMapping(value = "/{noticeId}")
    public AjaxResult getInfo(@PathVariable("noticeId") Long noticeId)
    {
        ContentNotice notice = contentNoticeService.selectContentNoticeByNoticeId(noticeId);
        // 检查公告状态，只有开启状态的公告可以查看
        if (notice != null && "0".equals(notice.getStatus())) {
            return success(notice);
        }
        return error("公告不存在或已关闭");
    }
}